Result: fail
Detail | Value |
---|---|
Returncode | 1 |
Time | 0:00:00.200457 |
Stdout |
Output v.a element 0: expected 100, got -858993460 Output v.a element 1: expected 200, got -858993460 Output v.a element 2: expected 300, got -858993460 Output v.a element 3: expected 400, got -858993460 Output v.a element 4: expected 101, got -858993460 Output v.a element 5: expected 201, got -858993460 Output v.a element 6: expected 301, got -858993460 Output v.a element 7: expected 401, got -858993460 Output v.a element 8: expected 102, got -858993460 Output v.a element 9: expected 202, got -858993460 Output v.a element 10: expected 302, got -858993460 Output v.a element 11: expected 402, got -858993460 Output v.a element 12: expected 103, got -858993460 Output v.a element 13: expected 203, got -858993460 Output v.a element 14: expected 303, got -858993460 Output v.a element 15: expected 403, got -858993460 Output v.b element 0: expected 500.000000, got -107374176.000000 Output v.b element 1: expected 600.000000, got -107374176.000000 Output v.b element 2: expected 501.000000, got -107374176.000000 Output v.b element 3: expected 601.000000, got -107374176.000000 Output v.c element 0: expected 700, got -858993460 Output v.c element 1: expected 701, got -858993460 Output v.c element 2: expected 702, got -858993460 Vertex shader: #version 150 #define DECLARE_VARYING(DIR, TYPE, NAME) DIR Blk { flat TYPE NAME; } blk #define VARYING(NAME) blk.NAME struct S { uvec4[4] a; vec2[2] b; int[3] c; }; in vec4 pos; DECLARE_VARYING(out, S, v); void main() { gl_Position = pos; for (int i = 0; i < 4; i++) { if (i < 4) VARYING(v).a[i] = uvec4(100, 200, 300, 400) + uint(i); if (i < 2) VARYING(v).b[i] = vec2(500.0, 600.0) + float(i); if (i < 3) VARYING(v).c[i] = 700 + i; } } Fragment shader: #version 150 #define DECLARE_VARYING(DIR, TYPE, NAME) DIR Blk { flat TYPE NAME; } blk #define VARYING(NAME) blk.NAME struct S { uvec4[4] a; vec2[2] b; int[3] c; }; DECLARE_VARYING(in, S, v); out vec4 color; void main() { bool pass = true; for (int i = 0; i < 3; i++) { if (i < 4 && VARYING(v).a[i] != uvec4(100, 200, 300, 400) + uint(i)) pass = false; if (i < 2 && VARYING(v).b[i] != vec2(500.0, 600.0) + float(i)) pass = false; if (i < 3 && VARYING(v).c[i] != 700 + i) pass = false; } if (pass) color = vec4(0.0, 1.0, 0.0, 1.0); else color = vec4(1.0, 0.0, 0.0, 1.0); } |
Stderr |
SWR detected AVX2 vert shader 0x7f8662a10000 frag shader 0x7f8662a0e000 so shader 0x7f8662a0c000 fetch shader 0x7f8662a0a000 SWR destroy screen! |
Environment |
PIGLIT_SOURCE_DIR="/home/ilia/src/piglit" PIGLIT_PLATFORM="mixed_glx_egl" |
Command | /home/ilia/src/piglit/bin/ext_transform_feedback-structs struct-whole-array run-no-fs interface -auto -fbo |
dmesg |